package 线程1;
//线程的创建3.继承Thread,重写run,使用匿名内部类的方式.
//匿名内部类,在一个类里面定义类.一个没有类名的内部类
//没有类名也没关系,至少可以创建出一个实例(适用于只需要用这个实例,不需要用其他实例了的情况)

public class ThreadDemo4 {
    public static void main(String[] args) {
        //这个语法就是匿名内部类
        //相当于是创建了一个匿名的类,这个类继承了Thread.
//        此处咱们new的实例,其实是new了这个新的子类的实例,也就是说,拿到的是内部类的对象
        Thread t = new Thread(){
            @Override
            public void run() {
                while(true){
                    System.out.println("hello thread");
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        };
        t.start();
        //这种写法,本质上和单独创建一个类,再继承Thread是没区别的.
        //只不过写起来,会更简单一点(语法糖)
        //因为Java里面方法,不能脱离类的存在,所有才有匿名内部类这种稍微复杂一点的写法
    }
}
